`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    09:38:21 11/26/2012 
// Design Name: 
// Module Name:    debouncer 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module debouncer(clk_i,inicio_i,elegir_pos_i,inicio_o,elegir_pos_o
    );
	 
	 input clk_i,inicio_i,elegir_pos_i;
	 output inicio_o,elegir_pos_o;
	 
	 reg inicio_o = 0;
	 reg inicio_reg1 = 0;
	 reg inicio_reg2 = 0;
	 reg elegir_pos_o = 0;
	 reg elegir_pos_reg1 = 0;
	 reg elegir_pos_reg2 = 0;
	 
	 always @(posedge clk_i) begin
		inicio_o <= inicio_reg2;
	   inicio_reg1 <= inicio_i;
	   inicio_reg2 <= inicio_reg1;
	   elegir_pos_o <= elegir_pos_reg2;
	   elegir_pos_reg1 <= elegir_pos_i;
	   elegir_pos_reg2 <= elegir_pos_reg1;

		
	 
	 end


endmodule
